Data networks are formed from a number of network nodes and allow communication between a number of subscribers. Communication here means the transmission of data between the subscribers. The data to be transmitted in this case is sent as data telegrams, which means that the data is packed into one or more packets and sent in this form over the data network to the appropriate recipient. The term data packet is thus used. The term transmission of data is used in this document fully synonymously with the above-mentioned transmission of data telegrams or data packets.
For networking in switchable high-performance data networks for example, especially Ethernet, the subscribers are interlinked via coupling nodes. Each coupling node can be connected to more than two subscribers and can also be a subscriber itself. Subscribers are for example computers, Programmable Logic Controllers (PLC) or other machines which exchange electronic data with other machines and especially process it.
In distributed automation systems, for example in the area of drive technology, specific data must arrive at specific times at the intended subscribers and must be processed by the recipients. This is referred to as realtime-critical data or realtime-critical data traffic since if the data does not arrive at its intended destination at the right time this can produce undesired results at the subscriber.
Similarly the use of an isochronous, cyclical communication system is known from the prior art. This is taken to mean a system consisting of at least two subscribers that are linked via a data network for the purposes of mutual exchange of data or mutual transmission of data. In this case data is exchanged cyclically in equidistant communication cycles which are specified by the communication clock used by the system. Subscribers, such as central automation devices, Programmable Logic Controllers, controls, checking units, computers, machines that exchange electronic data with other machines, drives, actors or sensors, execute specific applications. In this document control units are taken to mean closed-loop controllers or control units of all types. Typical examples of communication systems used for data transmission are bus systems such as Field Bus, PROFIBUS, Ethernet, Industrial Ethernet, FIREWIRE or also PC-internal bus systems (PCI), etc. In such systems data telegrams are fed into the data network at fixed points for transmission by a subscriber.
For synchronous applications the processing of the data is synchronized with the communication cycle. By contrast the processing of data in asynchronous applications is not synchronized with the communication cycle. This reading and writing of data by an asynchronous application can occur at any point in time. This produces special requirements for inclusion of an asynchronous application into an isochronous, cyclical communication system. Basically consistent data is to be sent and read by a subscriber. Consistent data is data which relates to the same time interval. Subscribers with asynchronous applications known from the prior art have the consistency buffer and a communication memory. If the application is to process data from a specific address range in the communication memory, this data is first copied into the consistency buffer.
Only then does the application access the data in the consistency buffer to read it. All addresses in the communication memory can thus be overridden while the application works with the consistent data in the consistency buffer.
The application first writes data into the consistency buffer while consistent data can be sent at the same time from the communication memory to further subscribers. After write access by the application and the sending of data has ended the data written in this way is copied from a consistency buffer to the communications memory. The consistent data is stored here for onwards transmission. The copying processes lead to delays in such cases.
FIG. 1 illustrates a system from the prior art for processing consistent data blocks during read access. The communications memory 1 has a receive zone 2 and a transmit zone 3. The receive zone 2 is linked to the receive buffer 4 and the consistency buffer 5. The transmit zone 3 is linked to the consistency buffer 5 and the transmit buffer 6. Data set DS A from address range AB A to which the application has access for reading is located in the consistency buffer.
FIG. 2 illustrates the sequence of read access by the application in the system shown in FIG. 1 Before read access the data set DS A is copied from the receive zone 2 of the communication memory 1 to the consistency buffer 5. Data set DS A is data which can be or could be accessed by the application during a read access. Data set DS A is to be consistent during a read access and originates from the address range AB A in the receive zone 2 of communication memory 1.
Because the data of the consistency block requested by the application is saved in the consistency buffer, newly received data of receive buffer 4 which lies in the address range of the consistency block can subsequently be stored in the receive zone 2 of communication memory 1. Read access by the application to the data set DS A in the consistency buffer 5 takes place independently of this storage process. During the read access files can be copied from the receive buffer 4 into the receive zone 2 of communication memory 1.
FIG. 3 shows the system from FIG. 1 during a write access by the application.
FIG. 4 illustrates the sequence of a write access by the application. While the application is writing data set DS B into the consistency buffer 5 data is forwarded from the transmit zone 3 of the communication memory 1 to the transmit buffer 6. Data set DS B is to be copied into a specific address range AB B of the transmit zone 5 of the communication memory 1. Before this copying process takes place all data from the address range AB B which is to move during a copying process from the transmit zone 3 to the transmit buffer 6 should be forwarded to the transmit buffer 6. The data set DS B can thus only be copied from the consistency buffer 5 into the transmit zone 3 of the communication memory 1 once both the write access and the forwarding of data from the address range B are completed.